package model

type CmdbQueryParam struct {
	Source             string `json:"source"`
	ShortName          string `json:"short_name"`
	IP                 string `json:"ip"`
	Datacenter         string `json:"datacenter"`
	ResourcePool       string `json:"resource_pool"`
	OnlineTime         string `json:"online_time"`
	NodeExporter       string `json:"node_exporter"`
	SysProcessExporter string `json:"sys_process_exporter"`
	ProcessExporter    string `json:"process_exporter"`
	PortExporter       string `json:"port_exporter"`
	ZabbixAgent        string `json:"zabbix_agent"`
	BppmAgent          string `json:"bppm_agent"`
	ScomAgent          string `json:"scom_agent"`
	BdopsAgent         string `json:"bdops_agent"`
}

type CmdbQueryData struct {
	Token       string         `json:"token"`
	PageSize    string         `json:"page_size"`
	CurrentPage string         `json:"current_page"`
	Param       CmdbQueryParam `json:"param"`
}

type PromeQueryData struct {
	Status string `json:"status"`
	Data   struct {
		ResultType string `json:"resultType"`
		Result     []struct {
			Metric struct {
				Name        string `json:"__name__,omitempty"`
				AppTeam     string `json:"app_team"`
				Datacenter  string `json:"datacenter"`
				Hostip      string `json:"hostip"`
				Hostname    string `json:"hostname"`
				Instance    string `json:"instance"`
				Job         string `json:"job"`
				ProcessName string `json:"process_name"`
				ServiceName string `json:"service_name"`
				ShortName   string `json:"short_name"`
				SystemID    string `json:"system_id"`
			} `json:"metric"`
			Value []interface{} `json:"value"`
		} `json:"result"`
	} `json:"data"`
}